package net.lzzy.practicesapi1.repositories;

import net.lzzy.practicesapi1.entities.User;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.UUID;

/**
 * @author lyz
 * select count(*) from users where username='abc'
 */
public interface UserRepository extends JpaRepository<User, UUID> {
    /**
     * 登录时检查用户名密码是否匹配
     * @param userName 要检查的用户名
     * @param password 要检查的密码
     * @return 用户对象，不存在为null
     */
    User findUserByUserNameAndPassword(String userName,String password);
    /**
     * 注册时检查数据库中是否存在该用户名
     * @param userName 要检查用户名
     * @return 存在的数量
     */

    Integer countByUserName(String userName);
    /**
     * 登陆时根据用户名查找其注册时保存的salt
     * @param userName 要查找的用户名
     * @return 返回用户的salt
     */
    UserProjection findUserByUserName(String userName);
}
